1. Field of the Invention
The present invention relates generally to management software in a client-server environment, and, more particularly, relates to translating first information formatted in Common Information Model/Extensible Markup Language (CIM/XML) received by the server from the client into second information in format compatible with Windows Management Interface (WMI), and translating vice-versa.
2. Description of Prior Art
The computer industry is evolving rapidly. Certain companies may have emerged as front-runners within that industry in their respective sectors. Those sectors include: semiconductor and semiconductor-equipment manufacturing, processor development, networking, storage systems, operating system software, application software, etc. This is an on-going competition and any current front-runner may have to accept secondary status tomorrow. One result of this vigorous competitive activity is that proprietary designs frequently emerge from one company which are not compatible with technological-designs of other companies. Accordingly, industry standards committees have evolved to try to bring uniformity to these different developmental directions where possible. One such committee is known as Distributed Management Task Force (DMTF) and has generated a particular standard called Web Based Enterprise Management (WBEM). This is a standard which certain industry participants want to meet, including those participants in distributed management software (for computer storage systems and storage area networks—SANs). A ninety-seven (97) page specification entitled “Common Information Model (CIM) Specification” Version 2.2, dated Jun. 14, 1999 prepared by DMTF offers more information about this subject and is incorporated by reference herein in its entirety; electronic copies of this specification can be obtained free of charge from the Internet at ftp://ftp.dmtf.org or http://www.dmtf.org. Another specification of eighty-seven (87) pages entitled “Specification for CIM Operations of HTTP” Version 1.0, dated Aug. 11th, 1999, prepared by DMTF likewise provides valuable background information and is also incorporated by reference herein in its entirety, (HTTP means Hyper Text Transfer Protocol).
In this context, consider software offered by the Microsoft company which designs, develops and markets many different software components. With specific reference to two such components, namely, its Internet Information Server (IIS) and its Windows Management Instrumentation Common Information Model Object Manager (WMI CIMOM), these are two independent, object-oriented software components. Each component is marketed separately from the other and each provides separate useful software functions. More information will be supplied about these two software components hereinbelow, after a brief discussion on the subject of software objects.
An object, in computer software terms, is a dedicated area of memory which can be thought of as an impervious container holding both data and instructions within itself, both defining itself and its relationships to other objects in the computer system or network. An object can send and receive messages to and from other objects, respond and react to such messages (e.g. commands) but shall normally be impervious to internal scrutiny. For example, in a storage processor (a kind of computer) each object may describe or relate to a specific detail in the processor (e.g. a fan, power switch, cache memory, power supply, disk drive interface, etc.), where these tangible objects in the storage processor can send messages to each other and to other objects outside the processor. The relationship between these specific objects in the storage processor is usually visualized or characterized as a “tree” of objects. In a tree, each such object hangs off a preceding object as if in a parent-child or inheritance relationship, with many children hanging from a parent not being an atypical configuration. In addition to these tangible kinds of objects, logical units (LUNs) are other nodes or objects that can be contained within the tree.
Certain purchasers (OEM manufacturers) of these IIS and WMI software components can use either one or both in computer-related systems developed and marketed to end-users by such purchasers. However each one of these software components separately does not meet the standards established by WBEM—each is not WBEM-compliant for various reasons including that each component currently uses Distributed Component Object Model (DCOM) to support objects distributed across a network instead of the WBEM-established standard of Extensible Markup Language (XML) to perform that same support function, although IIS does have some compatibility with XML.
Thus, there is a need amongst certain industry participants, including computer storage companies that supply distributed storage management software utilizing both of these IIS and WMI CIMOM software components in a client-server environment, to have both components meet the WBEM standard. The standard must be met in an efficient manner that does not negatively impact the participants' respective proprietary designs. Distributed storage management software normally runs on the client or user interface (UI) computer while, at the same time, it is also deployed and running as agent software on various network nodes such as servers. Servers can be connected between the client computer and the storage systems, or can be connected in the storage systems themselves or in the SANs. Accordingly, distributed storage management software can be run as agent software on storage processors (yet other computers) within such storage systems or SANs.
One prior art approach to meeting the WBEM standard is to write client software so it supports multiple communication protocols such as CIM/XML/HTTP on the one hand and DCOM on the other hand. This approach allows Windows clients the ability to access CIM data through WMI over DCOM. WMI is specific to Microsoft's Windows product and uses DCOM as its communication protocol. This approach is not open to other operating systems which do not support COM and WMI. Accordingly, this approach is limited since it still only provides support for client computers running Windows software. Moreover, this brute-force approach to a solution presents a significant and costly development effort. Thus, a more elegant, generic and permanent solution is needed, with flexibility to accommodate virtually any communication protocol, and the welcome solution of the present invention satisfies this need.